﻿using System.Threading.Tasks;

namespace MaxStoreErp.Core.Interfaces
{
    public interface IMessager
    {
        /// <summary>
        /// Показывает сообщение с информацией
        /// </summary>
        /// <param name="message">Текст сообщения</param>
        /// <param name="caption">Заголовок сообщения</param>
        Task InfoMessageAsync(string message, string caption);

        /// <summary>
        /// Показывает сообщение с вопросом
        /// </summary>
        /// <param name="message">Текст сообщения</param>
        /// <param name="caption">Заголовок сообщения</param>
        /// <returns>Возвращает результат</returns>
        Task<MessageResult> QuestionMessageAsync(string message, string caption);

        /// <summary>
        /// Показывает сообщение с произвольным содержанием
        /// </summary>
        /// <param name="content">Содержимое сообщение</param>
        /// <returns>Возвращает результат</returns>
        Task CustomDialogAsync(object content);

        /// <summary>
        /// Закрывает текущее сообщение с произвольным содержанием
        /// </summary>
        /// <returns>Возвращает результат</returns>
        Task CloseCustomDialogAsync();
    }

    public enum MessageResult
    {
        Ok,
        No
    }
}
